#ifndef JSONDATA_H__
#define JSONDATA_H__

#include "Net/Interface.h"

#define PARSEJSON(x) bool Parse##x(const string& szJson,x##Data& sRet) const;
class CJsonData
{
public:
	CJsonData();
	~CJsonData();

//	bool ParseUploadFile(const CString& szJson,UploadFileData& sRet) const;
	PARSEJSON(UploadFile)
	PARSEJSON(MoveFile)
	PARSEJSON(DeleteFile)
	PARSEJSON(RecoverFile)
	PARSEJSON(ClearRecycler)
	PARSEJSON(SetFilePasswd)
	PARSEJSON(GetFileList)
	PARSEJSON(TransCode)
	PARSEJSON(Recommend)
	PARSEJSON(AddDownload)
	PARSEJSON(GetDownload)
	PARSEJSON(MergeDownload)
	PARSEJSON(DepartDownload)
	PARSEJSON(Detail)
	PARSEJSON(CreateDir)
	PARSEJSON(Search)
	PARSEJSON(DataType)
	PARSEJSON(GetSize)
	PARSEJSON(DelDownload)
	PARSEJSON(RenameDownload)
	PARSEJSON(GetUploadRecord)
	PARSEJSON(TransPercent)
	PARSEJSON(AddYunDownload)
	PARSEJSON(GetOffDownload)
	PARSEJSON(OnlineOrder)
	PARSEJSON(ResetFilePasswd)
	PARSEJSON(ApkDown)
	PARSEJSON(LoginStat)
	PARSEJSON(DetailStat)
	PARSEJSON(HDPlay)
	PARSEJSON(MovieDetail)
	PARSEJSON(ThirdPartTransCode)
	PARSEJSON(ThirdPartHttpCTS)
	PARSEJSON(SearchData)

	PARSEJSON(ChannelScheduleQuery)
	PARSEJSON(UserPlayHistoryQuery)
	PARSEJSON(ISpaceContentDetailQuery)

	void Test(const string& szJson) const;
protected:
private:
};

#endif